<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>DarkBASIC</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/DarkBASIC"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-DarkBASIC rootpage-DarkBASIC skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">DarkBASIC</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><table class="float-right infobox toccolours toptextcells" style="border-spacing:5px; font-size:90%; text-align:left; width:21em;">
<tbody><tr>
<th colspan="2" class="hintergrundfarbe6" style="font-size:105%; text-align:center;">DarkBASIC
</th></tr>
<tr>
<th colspan="2" class="hintergrundfarbe5" style="font-size:105%; text-align:center;">Basisdaten
<p class="mw-empty-elt">
</p>
</th></tr>
<tr>
<td><b><a href="Softwareentwickler" title="Softwareentwickler">Entwickler</a></b>
</td>
<td>The Game Creators Limited
</td></tr>
<tr>
<td><b>Erscheinungsjahr</b>
</td>
<td><span class="wikidata-content">2000</span>
</td></tr>
<tr>
<td><b>Aktuelle <a href="Version_(Software)" title="Version (Software)">Version</a></b>
</td>
<td>Classic: 1.21 (14. August 2008)<br>Professional: 7.62 (1.0762) <br> (12. Mai 2012)
</td></tr>
<tr>
<td><b><a href="Betriebssystem" title="Betriebssystem">Betriebssystem</a></b>
</td>
<td><a href="Windows" class="mw-redirect" title="Windows">Windows</a>
</td></tr>
<tr>
<td><b>Kategorie</b>
</td>
<td><a href="Compiler" title="Compiler">Compiler</a>
</td></tr>
<tr>
<td><b>Lizenz</b>
</td>
<td><a href="Massachusetts_Institute_of_Technology" title="Massachusetts Institute of Technology">MIT</a>
</td></tr>
<tr>
<td><b><a href="Lokalisierung_(Softwareentwicklung)" title="Lokalisierung (Softwareentwicklung)">deutschsprachig</a></b>
</td>
<td>ja
</td></tr>
<tr>
<td class="hintergrundfarbe5" colspan="2" style="text-align:center;"><a rel="nofollow" class="external free" href="https://www.thegamecreators.com/product/dark-basic-pro-open-source">https://www.thegamecreators.com/product/dark-basic-pro-open-source</a>
</td></tr></tbody></table>
<p><b>DarkBASIC</b> ist eine <a href="Integrierte_Entwicklungsumgebung" title="Integrierte Entwicklungsumgebung">integrierte Entwicklungsumgebung</a> (IDE) und eine <a href="Programmiersprache" title="Programmiersprache">Programmiersprache</a>, die beide vom britischen Unternehmen <i>The Game Creators</i> entwickelt wurden. Die Sprache ist ein <a href="BASIC" title="BASIC">BASIC</a>-Dialekt und greift auf die <a href="DirectX" title="DirectX">DirectX</a>-<a href="Programmbibliothek" title="Programmbibliothek">Programmbibliotheken</a> von <a href="Microsoft" title="Microsoft">Microsoft</a> zurück. Ein besonderes Merkmal ist, dass <a href="Anweisung_(Programmierung)" title="Anweisung (Programmierung)">Befehle</a> auch <a href="Leerzeichen" title="Leerzeichen">Leerzeichen</a> enthalten können.
</p><p>DarkBASIC ermöglicht einen einfachen Umgang mit <a href="3D" title="3D">3D</a>-Objekten, <a href="Computergrafik" title="Computergrafik">Grafiken</a>, <a href="Audiodatei" title="Audiodatei">Sounds</a> sowie anderen Medien.
</p>
<div class="mw-heading mw-heading2"><h2 id="DarkBASIC">DarkBASIC</h2></div>
<p>Die erste <a href="Version_(Software)" title="Version (Software)">Version</a> von DarkBASIC, auch <i>DarkBASIC Classic</i> genannt (kurz DB oder DBC), erschien 1999. In dieser Variante werden die erstellten <a href="Computerprogramm" title="Computerprogramm">Programme</a> BASIC-typisch <a href="Interpreter" title="Interpreter">interpretiert</a>.
DarkBASIC benutzt die Funktionen der DirectX-Versionen 6 bis 8.1.
</p><p>Durch einen <a href="Patch_(Software)" title="Patch (Software)">Patch</a>, der im Jahr 2000 erschien, wurden <a href="Rechnernetz" title="Rechnernetz">Netzwerk</a>-Funktionen hinzugefügt. Diese Version wird inzwischen nicht mehr weiter entwickelt.
</p><p>Der Hersteller betreibt ein Programm, welches diese Software für Schulen kostenlos anbietet.
</p>
<div class="mw-heading mw-heading2"><h2 id="DarkBASIC_Professional">DarkBASIC Professional</h2></div>
<p>Die Professional-Version von DarkBASIC (kurz DBP), welche in <a href="Deutschland" title="Deutschland">Deutschland</a> unter dem Namen <i>3D Games Creator</i> vertrieben wird, erschien im Jahr 2002.
</p><p>Sie beinhaltet eine neue, <a href="Benutzerfreundlichkeit" title="Benutzerfreundlichkeit">benutzerfreundlichere</a> IDE und weitere Verbesserungen, welche die Sprache und die Technik der mitgelieferten Befehle betrifft. Beispielsweise unterstützt DarkBASIC Professional neue <a href="Dateiformat" title="Dateiformat">Dateiformate</a>, die es in der Classic-Version nicht gab. Unter anderem gehören dazu <i><a href="Half-Life_(Computerspiel)" title="Half-Life (Computerspiel)">Half-Life</a>-</i> oder <i><a href="Quake_III_Arena" title="Quake III Arena">Quake-III-Arena</a></i>-<a href="Karte_(Computerspiele)" title="Karte (Computerspiele)">Karten</a>, außerdem werden die Programme in echten <a href="Maschinensprache" title="Maschinensprache">Maschinencode</a> übersetzt.
</p><p>Diese Variante von DarkBASIC nutzt außerdem die DirectX-Versionen 8 und 9 (aktuell 10.0 Februar 2008).
</p><p>Für diese Version existieren Erweiterungen des Herstellers selbst sowie von der Community bereitgestellte.
</p><p>Im November 2015 wurde Quellcode von DarkBASIC Professional auf <a href="GitHub" title="GitHub">GitHub</a> veröffentlicht.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Quelltextbeispiele">Quelltextbeispiele</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Hello_World">Hello World</h3></div>
<div class="mw-highlight mw-highlight-lang-basic mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="kr">PRINT</span><span class="w"> </span><span class="s2">"Hello World"</span>
<span class="w"> </span><span class="kr">WAIT</span><span class="w"> </span><span class="kr">KEY</span><span class="w"> </span><span class="c1">'der Befehl ist nötig, damit das Programm nicht sofort beendet wird</span>
</pre></div>
<div class="mw-heading mw-heading3"><h3 id="3D-Beispiel">3D-Beispiel</h3></div>
<p>Bewege einen <a href="W%C3%BCrfel_(Geometrie)" title="Würfel (Geometrie)">Würfel</a> über den <a href="Bildschirm" title="Bildschirm">Bildschirm</a> mit den <a href="Pfeiltasten" class="mw-redirect" title="Pfeiltasten">Pfeiltasten</a>
</p>
<div class="mw-highlight mw-highlight-lang-basic mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="vg">sync</span><span class="w"> </span><span class="vg">on</span><span class="w"> </span><span class="c1">' aktiviere die manuelle Bildschirmsyncronisation</span>
<span class="w"> </span><span class="vg">sync</span><span class="w"> </span><span class="vg">rate</span><span class="w"> </span><span class="il">60</span><span class="w"> </span><span class="c1">' setze die Bildschirmwiederholungsrate auf 60Hz</span>
<span class="w"> </span><span class="vg">rem</span><span class="w"> </span><span class="c1">' deaktiviere die automatische Programmbeendung durch die [Esc]-Taste</span>
<span class="w"> </span><span class="vg">disable</span><span class="w"> </span><span class="vg">escapekey</span>
<span class="w"> </span><span class="vg">make</span><span class="w"> </span><span class="vg">object</span><span class="w"> </span><span class="vg">cube</span><span class="w"> </span><span class="il">1</span><span class="p">,</span><span class="w"> </span><span class="il">100</span><span class="w"> </span><span class="c1">' erstelle einen Würfel mit der Größe 100</span>
<span class="w"> </span><span class="vg">posz</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="il">10</span>
<span class="w"> </span><span class="vg">posx</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="il">10</span>
<span class="w"> </span><span class="vg">posy</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="il">10</span>
<span class="w"> </span><span class="vg">repeat</span><span class="w"> </span><span class="c1">' start Hauptschleife</span>
<span class="w"> </span><span class="c1">' Steuere die Position des Würfels</span>
<span class="w"> </span><span class="vg">if</span><span class="w"> </span><span class="vg">upkey</span><span class="p">()</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="il">1</span><span class="w"> </span><span class="vg">then</span><span class="w"> </span><span class="vg">inc</span><span class="w"> </span><span class="vg">posy</span>
<span class="w"> </span><span class="vg">if</span><span class="w"> </span><span class="vg">downkey</span><span class="p">()</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="il">1</span><span class="w"> </span><span class="vg">then</span><span class="w"> </span><span class="vg">dec</span><span class="w"> </span><span class="vg">posy</span>
<span class="w"> </span><span class="vg">if</span><span class="w"> </span><span class="vg">leftkey</span><span class="p">()</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="il">1</span><span class="w"> </span><span class="vg">then</span><span class="w"> </span><span class="vg">dec</span><span class="w"> </span><span class="vg">posx</span>
<span class="w"> </span><span class="vg">if</span><span class="w"> </span><span class="vg">rightkey</span><span class="p">()</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="il">1</span><span class="w"> </span><span class="vg">then</span><span class="w"> </span><span class="vg">inc</span><span class="w"> </span><span class="vg">posx</span>
<span class="w"> </span><span class="vg">position</span><span class="w"> </span><span class="vg">object</span><span class="w"> </span><span class="il">1</span><span class="p">,</span><span class="w"> </span><span class="vg">posx</span><span class="p">,</span><span class="w"> </span><span class="vg">posy</span><span class="p">,</span><span class="w"> </span><span class="vg">posz</span><span class="w"> </span><span class="c1">' positioniere das Objekt neu</span>
<span class="w"> </span><span class="vg">sync</span><span class="w"> </span><span class="c1">' aktualisiere das Bild</span>
<span class="w"> </span><span class="vg">until</span><span class="w"> </span><span class="vg">escapekey</span><span class="p">()</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="il">1</span><span class="w"> </span><span class="c1">' beende die Hauptschleife, wenn [Esc]-Taste gedrückt</span>
<span class="w"> </span><span class="vg">delete</span><span class="w"> </span><span class="vg">object</span><span class="w"> </span><span class="il">1</span><span class="w"> </span><span class="c1">' lösche das am Anfang erstelle Objekt</span>
<span class="w"> </span><span class="vg">end</span><span class="w"> </span><span class="c1">' beende das Programm</span>
</pre></div>
<div class="mw-heading mw-heading2"><h2 id="Sync_On">Sync On</h2></div>
<p>Die <i>Sync On</i> war ein seit 2002 jährliches stattfindendes Treffen der deutschen DarkBASIC Community, dort wurden Vorträge zur Spieleentwicklung gehalten, Spiele sowie Programme vorgestellt. Bei diesen Treffen war auch bereits der Hauptentwickler <i>Lee Bamber</i> aus dem <a href="Vereinigtes_K%C3%B6nigreich" title="Vereinigtes Königreich">Vereinigten Königreich</a> zu Gast.
Folgende Veranstaltungsorte sowie Gastgeber traten in der Vergangenheit auf.
</p>
<ul><li>2002 in Bamberg von Thomas Görtler und Michael Karg</li>
<li>2003 in Bamberg von Thomas Görtler und Michael Karg</li>
<li>2004 in Bamberg von Thomas Görtler</li>
<li>2005 in Berlin von <i>D-Man</i></li>
<li>2006 in Altenstadt von Stephan Geist</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Mit_DarkBASIC_erstellte_Programme">Mit DarkBASIC erstellte Programme</h2></div>
<ul><li>FPS Creator – Ein Programm, welches ein einfaches Zusammenstellen eines <a href="Ego-Shooter" title="Ego-Shooter">Ego-Shooters</a> ermöglicht.</li>
<li><a href="Revenge_of_the_Warrior_%E2%80%93_Tom_Yum_Goong" title="Revenge of the Warrior – Tom Yum Goong">Tom Yum Goong</a> – Spielumsetzung des gleichnamigen <a href="Film" title="Film">Films</a>, mehr als 30.000 Einheiten wurden verkauft.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Sonstiges">Sonstiges</h2></div>
<p>Ein in den Nachrichtenmedien kursierendes „Hackerfoto“ enthielt DarkBASIC-Code. Das zugehörige Programm entstand Ende 2011 während eines Programmierkurses zu DarkBASIC an einer amerikanischen Schule und war ursprünglich für die Simulation eines Toasters bestimmt.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Rezeption">Rezeption</h2></div>
<p>Die US-amerikanische Fachzeitschrift <a href="Game_Developer_(Zeitschrift)" title="Game Developer (Zeitschrift)">Game Developer</a> widmete <i>DarkBASIC Professional</i> 2003 einen ausführlichen Testbericht und bewertete es mit 4 von 5 Punkten.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li>Jonathan S. Harbour: <i>DarkBASIC Pro Game Programming, Second Edition</i>, Course Technology, ISBN 1-59863-287-6 (englisch)</li>
<li>Alistair Stewart: <i>Hands On DarkBASIC Pro – Volume 1</i>, Digital Skills, ISBN 1-874107-08-4 (englisch)</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://www.thegamecreators.com/product/dark-basic-pro-open-source">Homepage des Herstellers</a> (englisch)</li>
<li><a rel="nofollow" class="external text" href="https://github.com/TheGameCreators/Dark-Basic-Pro">DarkBASIC</a> auf <a href="GitHub" title="GitHub">GitHub</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://forum.thegamecreators.com/thread/215409?page=2#msg2573466"><i>Dark Basic Pro - Out In The Open.</i></a> In: <i>GameCreators Forum.</i> 20. November 2015,<span class="Abrufdatum"> abgerufen am 30. Oktober 2023</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ADarkBASIC&rft.title=Dark+Basic+Pro+-+Out+In+The+Open&rft.description=Dark+Basic+Pro+-+Out+In+The+Open&rft.identifier=https%3A%2F%2Fforum.thegamecreators.com%2Fthread%2F215409%3Fpage%3D2%23msg2573466&rft.date=2015-11-20"> </span></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text"><span class="cite">Alexander Merz: <a rel="nofollow" class="external text" href="http://www.golem.de/news/symbolbild-boeser-boeser-toaster-1304-98700.html"><i>Symbolbild: Böser, böser Toaster.</i></a> In: <i><a href="Golem.de" class="mw-redirect" title="Golem.de">golem.de</a>.</i> 16. April 2013,<span class="Abrufdatum"> abgerufen am 17. April 2013</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ADarkBASIC&rft.title=Symbolbild%3A+B%C3%B6ser%2C+b%C3%B6ser+Toaster&rft.description=Symbolbild%3A+B%C3%B6ser%2C+b%C3%B6ser+Toaster&rft.identifier=http%3A%2F%2Fwww.golem.de%2Fnews%2Fsymbolbild-boeser-boeser-toaster-1304-98700.html&rft.creator=Alexander+Merz&rft.date=2013-04-16"> </span></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://www.thegamecreators.com/pages/newsletters/newsletter_issue_9.html"><i>Newsletter Issue 9.</i></a> The Game Creators Limited, September 2003,<span class="Abrufdatum"> abgerufen am 30. Oktober 2023</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ADarkBASIC&rft.title=Newsletter+Issue+9&rft.description=Newsletter+Issue+9&rft.identifier=https%3A%2F%2Fwww.thegamecreators.com%2Fpages%2Fnewsletters%2Fnewsletter_issue_9.html&rft.publisher=The+Game+Creators+Limited"> </span></span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2025-08-13" href="https://de.wikipedia.org/wiki/?title=DarkBASIC&oldid=258830651">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>